//获取应用实例
var app = getApp();

// 初始化数据
var init = {

  // 数据
  data: {

    // 分页参数
    page: {

      // 当前页码
      index: 1,

      // 每页分页数
      size: 10,

      // 分页总数
      num: 1,

      // 加载锁
      lock: false
    },

    // 产品列表
    items: [],

    // 数据加载
    loading: true,

    // 加载提示
    loadTips: '',

    // 头图
    banner: ''

  },

  // 页面第一次加载
  onLoad: function (options) {
    this.getData();
  },

  // 上拉触底
  lower: function () {
    this.getData();
  },

  // 重置分页
  resetPage: function () {
    this.setData({
      page: {
        index: 1,
        size: 10,
        num: 1,
        lock: false
      },
    })
  },

  // 获取数据
  getData: function () {

    var that = this;
    var page = that.data.page;

    // 加锁
    if (page.lock) return;
    that.setData({
      'page.lock': true
    });

    if (page.num >= page.index) {

      // 加载前
      that.setData({
        loading: false,
        loadTips: that.data.loading ? '' : '加载中...'
      });


      wx.request({

        // 请求地址
        url: app.api,

        // 请求参数
        data: {
          app: 'default',
          act: 'goods_category',
          type: 1,
          page: page.index
        },

        // 请求成功
        success: function (res) {
          var data = res.data;
          console.log(data);


          that.setData({
            'page.num': parseInt(Math.ceil(data.retval.total_count / that.data.page.size)),
            banner: that.data.banner ? that.data.banner : data.retval.banner.image
          });

          console.log('总页码：' + that.data.page.num + '，当前页码：' + that.data.page.index);

          // 完全没有数据
          if (that.data.page.num == 0) {
            that.setData({
              loading: true,
              errorTips: '暂无数据！'
            })
            return
          }

          // 有数据，累加
          var items = data.retval.list;
          if (items && items.length) {
            that.setData({
              items: that.data.items.concat(items)
            })
          }

          // 累加页码
          that.setData({
            'page.index': ++page.index
          });

        },

        // 请求失败
        fail: function () {
          console.log('aa');
          that.setData({
            loading: true,
            loadTips: '加载数据失败！'
          })
        },

        // 请求结束
        complete: function () {

          // 解锁
          that.setData({
            'page.lock': false
          })
        }

      });
    } else {
      that.setData({
        loadTips: '无更多数据！'
      })
    }
  }

};

// 注册页面
Page(init);
